package com.campus.app.service;

import com.campus.commons.entity.Event;
import com.baomidou.mybatisplus.extension.service.IService;
import com.campus.commons.utils.MyPage;
import com.campus.commons.utils.Result;

import java.util.List;

/**
 * <p>
 * 任务表 服务类
 * </p>
 *
 * @author Rin
 * @since 2020-12-24
 */
public interface EventsService extends IService<Event> {

    /**
     *  获取所有任务根据学部
     * @param myPage
     * @param deId
     * @return
     */
    Result<List<Event>> getAllEvents(MyPage myPage,Integer deId);

    /**
     * 多条件复合查询；（可查 deId，studentId，state状态，
     * @param myPage
     * @return
     */
    Result<List<Event>> getEvents(MyPage<Event> myPage);

    /**
     * 添加任务
     * @param event
     * @return
     */
    Result addEvent(Event event);

    /**
     * 删除任务； 已领取的任务无法删除；
     * @param Id
     * @return
     */
    Result delEvent(Integer Id);


    /**
     *  领取任务；
     * @param id
     * @param studentId
     * @return
     */
     Result getTheTask(Integer id, Integer studentId);

    /**
     * 更新任务；状态；
     * @param id
     * @param state
     * @return
     */
     Result updateState(Integer id, Integer state);

    /**
     * 更新任务； 前提要求必须是刚发布的：隐患：前台可能有时候看到的不是最新的
     * 暂时别用；
     * @param event
     * @return
     */
    Result updateEvent(Event event);

}
